#ifndef YOOHOO_XMPPCORE_STREAM_H
#define YOOHOO_XMPPCORE_STREAM_H

#include "xmppcore/export.h"
#include "xmppcore/jabberid.h"
#include "xmppcore/xmppelement.h"
#include "xmppcore/protocoltranslator.h"
#include "xmppcore/protocolparser.h"

namespace yoohoo_xmppcore {

class YOOHOO_XMPPCORE_EXPORT Stream : public XmppElement, public ProtocolTranslator, public ProtocolParser {
public:
	Stream();
	~Stream();
	QString toXml();
	bool fromXml(const QString& xml);
	bool matches(const QString& xml);
	XmppElement::ElementType elementType() const;

	void setFrom(JabberId from);
	JabberId* from();
	void setTo(JabberId to);
	JabberId* to();
	void setId(QString id);
	QString id();
	void setXmlLang(QString xmlLang);
	QString xmlLang();
	void setVersion(QString version);
	QString version();

private:
	JabberId* _from;
	JabberId* _to;
	QString _id;
	QString _xmlLang;
	QString _version;
};

}

#endif
